package com.taotao.service.Impl;

import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.taotao.common.pojo.EUDataGridResult;
import com.taotao.common.pojo.TaotaoResult;
import com.taotao.mapper.TbItemCatMapper;
import com.taotao.mapper.TbItemParamMapper;
import com.taotao.pojo.TbItemCat;
import com.taotao.pojo.TbItemParam;
import com.taotao.pojo.TbItemParamExample;
import com.taotao.service.ItemParamService;
import com.taotao.vo.TbItemParamVo;

@Service
public class ItemParamServiceImpl implements ItemParamService {

	@Autowired
	private TbItemParamMapper itemParamMapper;
	@Autowired
	private TbItemCatMapper itemCatMapper;
	
	@Override
	public TaotaoResult getItemParamById(long cid) {
		// TODO Auto-generated method stub
		TbItemParamExample example=new TbItemParamExample();
		example.createCriteria().andItemCatIdEqualTo(cid);
		List<TbItemParam> itemParam = itemParamMapper.selectByExampleWithBLOBs(example);
		if(itemParam!=null && !itemParam.isEmpty()) {
			Map map=new HashMap();
			map.put("paramData", itemParam.get(0).getParamData());
			return TaotaoResult.ok(map);
		}
		return TaotaoResult.ok();
	}
	@Override
	public EUDataGridResult getItemParamList(int page,int rows) {
		PageHelper.startPage(page, rows);
		TbItemParamExample example = new TbItemParamExample();
		List<TbItemParam> itemParams = itemParamMapper.selectByExampleWithBLOBs(example);
		
		PageInfo<TbItemParam> pageInfo = new PageInfo<TbItemParam>(itemParams);
		
		List<TbItemParamVo> itemParamVos=new ArrayList<TbItemParamVo>();
		for(TbItemParam tip : itemParams) {
			TbItemParamVo tbItemParamVo = new TbItemParamVo();
			BeanUtils.copyProperties(tip, tbItemParamVo);
			Long cid=tip.getItemCatId();
			TbItemCat itemCat = itemCatMapper.selectByPrimaryKey(cid);
			tbItemParamVo.setItemCatName(itemCat.getName());
			itemParamVos.add(tbItemParamVo);
		}
		
		EUDataGridResult eud = new EUDataGridResult();
		eud.setTotal(pageInfo.getTotal());
		eud.setRows(itemParamVos);
		return eud;
	}
	
	@Override
	public TaotaoResult savaItemParam(TbItemParam itemParam) {
		Date date = new Date();
		itemParam.setCreated(date);
		itemParam.setUpdated(date);
		
		
		itemParamMapper.insert(itemParam);
		return TaotaoResult.ok();
	}
	


	
}
